package demo02;

import java.util.ArrayList;

/*
 *  增强for循环：底层使用的是迭代器，使用for循环的格式，简化了迭代器的书写，是JDK1.5之后出现的新特性
 *  Collection<E> extends Iterable<E>：所有的单列集合都可以使用增强for（只要继承了父接口Iterable<E>，就可以使用增强for）
le<T>：实现这个接口，就允许对象成为"foreach"语句的目标 *  public interface Iterab
 * 
 *  增强for循环：用来遍历集合或数组
 * 
 *  格式：
 *      for (集合/数组的数据类型 变量名 : 集合名/数组名) {
 *          // 遍历集合或数组
 *      } 
 */
public class Demo02Foreach {
    public static void main(String[] args) {
        demo01();
        demo02();
    }

    // 使用增强for循环遍历集合
    private static void demo02() {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("小玉");
        arrayList.add("小丸子");
        arrayList.add("锁锁");
        arrayList.add("大脸猫");
        for (String s : arrayList) {
            System.out.println(s); // 小玉 小丸子 锁锁 大脸猫
        }
    }

    // 使用增强for循环遍历数组
    private static void demo01() {
        int[] arr = { 1, 2, 3, 4, 5 };
        for (int i : arr) {
            System.out.println(i); // 1 2 3 4 5
        }
    }
}
